package com.xxxx.car.appointment.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xxxx.car.appointment.annotation.isPhone;
import com.xxxx.car.appointment.domain.StatementItem;
import com.xxxx.car.common.annotation.Excel;
import com.xxxx.car.common.core.domain.BaseEntity;
import lombok.Data;

import javax.validation.constraints.Future;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class StatementVo extends BaseEntity {

    private Long id;

    /** 客户名称 */
    @NotBlank(message = "客户名称不能为空")
    private String customerName;

    /** 客户联系方式 */
    @NotBlank(message = "客户联系方式不能为空")
    @isPhone
    private String customerPhone;

    /** 实际到店时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date actualArrivalTime;

    /** 车牌号码 */
    @NotBlank(message = "车牌号码不能为空")
    private String carNumber;

    /** 服务类型 (维修=0 保养=1) */
    @NotNull(message = "服务类型不能为空")
    private Long serviceType;

    /** 汽车类型 */
    @NotBlank(message = "汽车类型不能为空")
    private String carType;

    // 折扣金额
    private BigDecimal discountAmount;

    // 结算单明细
    private List<StatementItem> statementItemList;

}
